package cn.zzdt4j.threadpool.dynamic.model.config.properties;

import cn.zzdt4j.common.api.IExecutorProperties;
import cn.zzdt4j.common.executor.ExecutorNotifyProperties;
import lombok.Data;

/**
 * Web thread pool executor properties.
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2023/10/26 3:30
 */
@Data
public class WebExecutorProperties implements IExecutorProperties {
    /**
     * Thread pool id
     */
    private String threadPoolId;

    /**
     * Core pool size
     */
    private Integer corePoolSize;

    /**
     * Maximum pool size
     */
    private Integer maximumPoolSize;

    /**
     * Keep alive time
     */
    private Long keepAliveTime;

    /**
     * Nodes, application startup is not affect, change properties is effect
     */
    private String nodes;

    /**
     * these propertied is enabled?
     */
    private Boolean enable = true;

    /**
     * Notify config
     */
    private ExecutorNotifyProperties notify;
}
